home *** CD-ROM | disk | FTP | other *** search
-
-
- #include <dos/dos.h>
- #include <workbench/startup.h>
- #include <workbench/workbench.h>
- #include <workbench/icon.h>
- #include <clib/exec_protos.h>
- #include <clib/icon_protos.h>
-
- #define VERSION 33
- #define PRGTEXT "\nProgram: "
- #define NAMNTEXT "\nNamn: "
- #define ICONTEXT "\nIkon: "
- #define SHELLTEXT "\nStarta ifrån Workbench!\n"
-
- extern struct WBStartup *WBenchMsg;
-
- struct Library *IconBase;
-
- int main(int argc, char **argv)
- {
- struct WBArg *wbarg;
- struct DiskObject *dobj;
- UBYTE **tools,*textp;
- BPTR fh;
- LONG argnum;
-
- if(!argc) {
- if(!(fh = Open("CON:10/10/400/100/WBtest",MODE_NEWFILE)))
- exit(10);
- IconBase = OpenLibrary((UBYTE *)"icon.library",VERSION);
- if(!IconBase) {
- Close(fh);
- exit(10);
- }
- wbarg = WBenchMsg->sm_ArgList;
- argnum = WBenchMsg->sm_NumArgs;
-
- Write(fh,PRGTEXT,strlen(PRGTEXT));
- Write(fh,wbarg->wa_Name,strlen(wbarg->wa_Name));
-
- dobj = GetDiskObject((UBYTE *)wbarg->wa_Name);
- tools = (UBYTE **)dobj->do_ToolTypes;
- if(textp = FindToolType(tools,(UBYTE *)"NAMN")) {
- Write(fh,NAMNTEXT,strlen(NAMNTEXT));
- Write(fh,textp,strlen(textp));
- }
- FreeDiskObject(dobj);
-
- for(wbarg++; --argnum; wbarg++) {
- Write(fh,ICONTEXT,strlen(ICONTEXT));
- Write(fh,wbarg->wa_Name,strlen(wbarg->wa_Name));
- }
-
- CloseLibrary(IconBase);
- Delay(200);
- Close(fh);
- }
- else
- Write(Output(),SHELLTEXT,strlen(SHELLTEXT));
- }
-